// 这是和上一关一样，用于检查方砖上是宝石还是开关的命令
func checkTile() {
    if isOnGem {
        collectGem()
    } else if isOnClosedSwitch {
        toggleSwitch()
    }
}

// 让角色转身
func turnBack() {
    turnLeft()
    turnLeft()
}

// 让游戏角色左转、获取宝石，并回到中间
func upLeft() {
    turnLeft()
    moveForward()

    collectGem()
    turnBack()
    
    moveForward()
    turnLeft()
}

// 让游戏角色右转，获取右边直角弯里的宝石，并回到中间
func downRight() {
    turnRight()
    moveForward()
    moveForward()
    moveForward()
    turnLeft()
    moveForward()

    collectGem()
    turnBack()

    moveForward()
    turnRight()
    moveForward()
    moveForward()
    moveForward()
    turnRight()
}

// 定义好上面三个命令之后
for i in 1 ... 2 {
    moveForward() // 往前走
    checkTile()   // 检查方砖
    downRight()   // 向右拿直角弯的宝石并回到中间
    
    moveForward() // 往前走
    checkTile()   // 检查方砖
    upLeft()      // 向左拿宝石并回到中间
    
    moveForward() // 往前走
    checkTile()   // 检查方砖
}
